<?php
namespace Admin\Controller;
use Think\Controller;
class FeedbackController extends CommonController {
     
     //浏览新闻信息
    public function index(){
       
       //判断是否有关键字传值
       if($key = I('get.key'))
       {
          $map['title'] = array('like','%'.$key.'%');
       }
       //判断是否有时间值传递
       if(I('get.start') && I('get.end'))
       {
          
          $start = strtotime(I('get.start')." 00:00:00");
          $end = strtotime(I('get.end')." 23:59:59");
          // var_dump($start);die;
          // var_dump($end);die;
          $map['addtime'] = array(array('EGT',$start),array('ELT',$end),'AND');
          
       }

        //实例化新闻信息操作对象
       $mod = M("feedback");
       $count = $mod->where($map)->count();// 查询满足要求的总记录数
       
       $Page = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数(25)

       $Page -> setConfig('header','共%TOTAL_ROW%条');
       $Page -> setConfig('first','首页');
       $Page -> setConfig('last','共%TOTAL_PAGE%页');
       $Page -> setConfig('prev','上一页');
       $Page -> setConfig('next','下一页');
       $Page -> setConfig('link','indexpagenumb');//pagenumb 会替换成页码
       $Page -> setConfig('theme','%HEADER% %NOW_PAGE%/%TOTAL_PAGE% 页 %FIRST% %UP_PAGE% %DOWN_PAGE% %END% %LINK_PAGE%');
       
       $show = $Page->show();// 分页显示输出
       // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
       $list=M('feedback')->order('feedback.addtime desc')->limit($Page->firstRow.','.$Page->listRows)->where($map)->select();

       //放置模板中
       
       $this->assign("list",$list);
       $this->assign('page',$show);// 赋值分页输出

       //加载模板输出
       $this->display("index");
    }

    //加载添加表单
    public function add(){

       $this->display("add"); 
    }

    //执行信息添加
    public function insert(){
        //实例化
        $mod = M("feedback");
        //自动验证
        $rules = array(
              
         array('content','/\S+/','反馈内容必须填写！',1,'regex',1),// 新闻内容必须
         array('title','/\S+/','标题必须填写！',1,'regex',1),// 新闻内容必须
         
         array('keywords','/\S+/','关键字必须填写！',1,'regex',1),// 新闻内容必须
         array('description','/\S+/','反馈描述必须填写！',1,'regex',1),// 新闻内容必须
         
        );  
       

        // var_dump(!$mod->validate($rules)->create());die;
        if (!$mod->validate($rules)->create()){
             // 如果创建失败 表示验证没有通过 输出错误提示信息
             $this->error($mod->getError());
        }


        //获取添加时间
        $mod->addtime = time();
        //执行添加
        $m = $mod->add();
        //判断并输出对应的提示信息
        if($m>0){
           $this->success("添加成功！",U("Feedback/add"));
        }else{
           $this->error("添加失败！");
        }
    }

    //加载编辑表单
    public function edit(){

        $mod =M("feedback"); 
        $ob = $mod->find(I('get.id/d'));
        
        $ob['content'] = html_entity_decode($ob['content']);

        //放置模板中
        $this->assign("v",$ob);
        //加载编辑模板
        $this->display("edit");
    }

    //执行信息修改
    public function update(){
        //实例化
        $mod =M("feedback");
        //自动验证
        $rules = array(
              
           array('content','/\S+/','反馈内容必须填写！',1,'regex',1),// 新闻内容必须
           array('title','/\S+/','标题必须填写！',1,'regex',1),// 新闻内容必须

           array('keywords','/\S+/','关键字必须填写！',1,'regex',1),// 新闻内容必须
           array('description','/\S+/','反馈描述必须填写！',1,'regex',1),// 新闻内容必须
           
        );  
       

        // var_dump(!$mod->validate($rules)->create());die;
        if (!$mod->validate($rules)->create()){
             // 如果创建失败 表示验证没有通过 输出错误提示信息
             $this->error($mod->getError());
        }

       //执行修改
        $m = $mod->save();
       
        //判断并输出对应的提示信息
        if($m!==false){

           $this->success("修改成功！",U("Feedback/index"));
        }else{
           $this->error("修改失败！");
        }
    }

    //执行信息删除
    public function del(){
       
       //实例化
       $mod =M("feedback");

       //把传过来的字符串整理成搜索条件
       
       if(I('post.id'))
       {
          $arr = explode(',',I('post.id'));
          array_pop($arr);

          $map['id'] = array('in',$arr);
       }
       if(I('get.id/d'))
       {
              $map['id'] = array('EQ',I('get.id/d'));
            
       }
       
       //执行删除
       $m = $mod->where($map)->delete();
       
       //判断并输出对应的提示信息
       if($m>0){
         
          $this->success("删除成功！",U("Feedback/index"));
       }
       else
       {
           $this->error("删除失败！");
       }
    }
}